﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыДанныхДляПланФактногоАнализаДДС
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"4bc0e38b-c9f4-4f2b-b35d-91773a103a99\", \"Представление\":\"Сценарий\"}")]
		Сценарий = 0,//Данные сценария
		[EnumMember(Value = "{\"Ссылка\":\"d940d850-3784-4a63-bd91-2968d11e8191\", \"Представление\":\"ФактическиеДанные\"}")]
		ФактическиеДанные = 1,//Фактические данные
		[EnumMember(Value = "{\"Ссылка\":\"72f7c53b-df74-4903-bc62-43e1889957da\", \"Представление\":\"ФактическиеИПланируемые\"}")]
		ФактическиеИПланируемые = 2,//Фактические данные с учетом заявок и планируемых поступлений
	}
	public static partial class ВидыДанныхДляПланФактногоАнализаДДС_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Сценарий = new Guid("77915db3-103a-993a-4f2b-c9f44bc0e38b");//Данные сценария
		public static readonly Guid ФактическиеДанные = new Guid("682991bd-1ed1-9181-4a63-3784d940d850");//Фактические данные
		public static readonly Guid ФактическиеИПланируемые = new Guid("e14362bc-9988-da57-4903-df7472f7c53b");//Фактические данные с учетом заявок и планируемых поступлений
		public static ВидыДанныхДляПланФактногоАнализаДДС Получить(this ВидыДанныхДляПланФактногоАнализаДДС Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыДанныхДляПланФактногоАнализаДДС Получить(this ВидыДанныхДляПланФактногоАнализаДДС Значение, Guid Ссылка)
		{
			if(Ссылка == Сценарий)
			{
				return ВидыДанныхДляПланФактногоАнализаДДС.Сценарий;
			}
			else if(Ссылка == ФактическиеДанные)
			{
				return ВидыДанныхДляПланФактногоАнализаДДС.ФактическиеДанные;
			}
			else if(Ссылка == ФактическиеИПланируемые)
			{
				return ВидыДанныхДляПланФактногоАнализаДДС.ФактическиеИПланируемые;
			}
			return ВидыДанныхДляПланФактногоАнализаДДС.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыДанныхДляПланФактногоАнализаДДС Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыДанныхДляПланФактногоАнализаДДС Значение)
		{
			switch (Значение)
			{
				case ВидыДанныхДляПланФактногоАнализаДДС.Сценарий: return Сценарий;
				case ВидыДанныхДляПланФактногоАнализаДДС.ФактическиеДанные: return ФактическиеДанные;
				case ВидыДанныхДляПланФактногоАнализаДДС.ФактическиеИПланируемые: return ФактическиеИПланируемые;
			}
			return Guid.Empty;
		}
	}
}